pub fn convert_base(num_str: &str, to_base: u32) -> String {
    // 解析输入，获取数字和原始进制
    let (number_str, from_base) = {
        let parts: Vec<&str> = num_str.trim_end_matches(')').split('(').collect();
        let number_part = parts[0];
        let base_part = parts[1];
        (number_part, base_part.parse::<u32>().unwrap())
    };

    let decimal_value = u32::from_str_radix(number_str, from_base).unwrap();

    // 将十进制数字转换为目标进制
    to_base_string(decimal_value, to_base)
}
fn to_base_string(mut num: u32, base: u32) -> String {
    // 用于表示不同进制的数字
    let chars = "0123456789abcdef".chars().collect::<Vec<char>>();
    let mut result = Vec::new();

    if num == 0 {
        return "0".to_string();
    }

    // 将数字转换为目标进制
    while num > 0 {
        result.push(chars[(num % base) as usize]); 
        num /= base;
    }

    result.iter().rev().collect()
}